const {User} = require('../model');
const jwt = require('../util/jwt')
const { jwtSecret } = require('../config/config.default')
// 登录
module.exports.login = async (req, res, next) => {
    try{
        const user = req.user.toJSON()
        
        const token = await jwt.sign({
            user_id: user._id
        }, jwtSecret, {
            expiresIn: '1 day'
        })
        delete user.password
        res.status(200).json({
            ...user,
            token
        })
    } catch(err){
        next(err)
    }
}
// 用户注册
module.exports.register = async (req, res, next) => {
    try{
        // 1、获取请求体数据
        let data = req.body
        // 2、数据验证
        // 2-1、基本数据验证，
        // 2-2、业务数据验证
        // 3、验证通过，保存数据库
        let user = new User(req.body.user)
        await user.save()

        user = user.toJSON()
        delete user.password

        // 4、发送响应
        res.status(200).json({
            user
        })
    } catch(err){
        next(err)
    }
}
// 获取用户信息
module.exports.getCurrentUser = async (req, res, next) => {
    try{
        res.status(200).json({
            user: req.user
        })
    } catch(err){
        next(err)
    }
}
// 更新用户
module.exports.updateCurrentUser = async (req, res, next) => {
    try{
        res.send('put user')
    } catch(err){
        next(err)
    }
}